Writing to a nil map causes a runtime panic. Reading from a nil map returns the zero value safely. An empty map initialized with make() is safe for both reads and writes.
Always initialize maps in struct constructors — do not rely on callers to initialize
Use make(map[K]V, hint) with a size hint when the approximate number of entries is known
Deleting from a nil map does NOT panic — delete() on nil map is a no-op
len() on a nil map returns 0 without panic
Range over a nil map produces zero iterations without panic